<?php

/**
 * Charge les XML de données
 *
 * @package cass
 * @author Mickaël CASTANHEIRO <mickael.castanheiro@gmail.com>
 * @version 1.0
 */

namespace cass;

class Data /*extends Element*/ {

    private static $data = array();

    /**
     * Charge automatique le XML corespondant au premier argument et trouve la
     * variable correspondant à l'argument
     * @param <type> $_name Nom du fichier XML
     * @param <type> $_arguments Nom de la variable
     * @return <mixed> Valeur de la variable trouvée
     */
    static public function __callStatic($_name, $_arguments) {
        if (empty(static::$data[$_name])) {
            static::$data[$_name] = simplexml_load_file(__PATH__ . '/data/' . $_name . '.xml');
        }

        if (!isset(static::$data[$_name]->{$_arguments[0]})) {
            throw new NotFoundException('La variable ' . $_arguments[0] . ' n\'existe pas dans ' . $_name);
        }

        return static::$data[$_name]->{$_arguments[0]};
    }

}
